package lv.clientedisqueria.controller.tema;

import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.Action;

import lv.clientedisqueria.controller.Controller;
import lv.clientedisqueria.model.tema.TemaModel;
import lv.mensajeriadisqueria.idomain.ITema;

public class TemaController extends Controller<ITema>{

	private AbstractAction adherirVersiones;
	private TemaModel temaModelo;
	
	public TemaController(TemaModel temaModelo) {
		super(temaModelo);
		this.temaModelo = temaModelo;
	}

	@SuppressWarnings("serial")
	public Action getAdherirVersionesAction() {
		if (adherirVersiones == null) {
			adherirVersiones = new AbstractAction("Adherir Versiones") {
				@Override
				public void actionPerformed(ActionEvent e) {
					temaModelo.adherirVersiones();
					desHabilitarAcciones();
				}
			};
		}
		return adherirVersiones;
	}
	
	@Override
	protected void desHabilitarAcciones() {
		getAdherirVersionesAction().setEnabled(false);
		super.desHabilitarAcciones();
	}
	
	@Override
	protected void estadoInicialAcciones() {
		super.estadoInicialAcciones();
		getAdherirVersionesAction().setEnabled(true);
	}
}